#lang racket


(provide (struct-out id)
         (struct-out empty-id)
         (struct-out universal-id))


(struct id () #:transparent)
(struct empty-id id () #:transparent)
(struct universal-id id () #:transparent)
(struct parametric-id id (parametric) #:transparent)